home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / if_pppol2tp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.0 KB  |  70 lines

  1. /***************************************************************************
  2.  * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
  3.  *
  4.  * This file supplies definitions required by the PPP over L2TP driver
  5.  * (pppol2tp.c).  All version information wrt this file is located in pppol2tp.c
  6.  *
  7.  * License:
  8.  *        This program is free software; you can redistribute it and/or
  9.  *        modify it under the terms of the GNU General Public License
  10.  *        as published by the Free Software Foundation; either version
  11.  *        2 of the License, or (at your option) any later version.
  12.  *
  13.  */
  14.  
  15. #ifndef __LINUX_IF_PPPOL2TP_H
  16. #define __LINUX_IF_PPPOL2TP_H
  17.  
  18. #include <asm/types.h>
  19.  
  20. #ifdef __KERNEL__
  21. #include <linux/in.h>
  22. #endif
  23.  
  24. /* Structure used to connect() the socket to a particular tunnel UDP
  25.  * socket.
  26.  */
  27. struct pppol2tp_addr
  28. {
  29.     pid_t    pid;            /* pid that owns the fd.
  30.                      * 0 => current */
  31.     int    fd;            /* FD of UDP socket to use */
  32.  
  33.     struct sockaddr_in addr;    /* IP address and port to send to */
  34.  
  35.     __u16 s_tunnel, s_session;    /* For matching incoming packets */
  36.     __u16 d_tunnel, d_session;    /* For sending outgoing packets */
  37. };
  38.  
  39. /* Socket options:
  40.  * DEBUG    - bitmask of debug message categories
  41.  * SENDSEQ    - 0 => don't send packets with sequence numbers
  42.  *          1 => send packets with sequence numbers
  43.  * RECVSEQ    - 0 => receive packet sequence numbers are optional
  44.  *          1 => drop receive packets without sequence numbers
  45.  * LNSMODE    - 0 => act as LAC.
  46.  *          1 => act as LNS.
  47.  * REORDERTO    - reorder timeout (in millisecs). If 0, don't try to reorder.
  48.  */
  49. enum {
  50.     PPPOL2TP_SO_DEBUG    = 1,
  51.     PPPOL2TP_SO_RECVSEQ    = 2,
  52.     PPPOL2TP_SO_SENDSEQ    = 3,
  53.     PPPOL2TP_SO_LNSMODE    = 4,
  54.     PPPOL2TP_SO_REORDERTO    = 5,
  55. };
  56.  
  57. /* Debug message categories for the DEBUG socket option */
  58. enum {
  59.     PPPOL2TP_MSG_DEBUG    = (1 << 0),    /* verbose debug (if
  60.                          * compiled in) */
  61.     PPPOL2TP_MSG_CONTROL    = (1 << 1),    /* userspace - kernel
  62.                          * interface */
  63.     PPPOL2TP_MSG_SEQ    = (1 << 2),    /* sequence numbers */
  64.     PPPOL2TP_MSG_DATA    = (1 << 3),    /* data packets */
  65. };
  66.  
  67.  
  68.  
  69. #endif
  70.